<HTML>

<SCRIPT>
function setFocus() {	
	if ((navigator.appName != "Netscape") && (parseFloat(navigator.appVersion) == 2)) {
	return;
	} else {
	self.focus();
	}
}
</SCRIPT><HEAD><TITLE>Index</TITLE></HEAD>

<BODY
	BGCOLOR		= #FFFFFF
	TEXT = #000000
onLoad="setFocus()";
>

<P>Names of design patterns appear in small capitals: e.g., A<FONT
SIZE=-1>DAPTER</FONT>.  Page numbers in bold indicate the definition
of a term. Numbers in italics indicate a diagram for the term.
Letters after a diagram's page number indicate the kind of diagram:
a "c" denotes a class diagram, an "i" denotes an interaction diagram,
and an "o" denotes an object diagram. For example, <I>88co</I>
means that a class and object diagram appears on page 88.</P>

<H2>D</H2>

<DL>

<DT>data member 
<A HREF="chapAfs.htm#datamember" TARGET="_mainDisplayFrame"><B>360</B></A>
</DT>

<DT>DebuggingGlyph 
<A HREF="pat4dfs.htm#debuggingglyph" TARGET="_mainDisplayFrame">182</A>
</DT>

<DT><a name="D<FONT SIZE=-1>ECORATOR</FONT>"></a>D<FONT SIZE=-1>ECORATOR</FONT> 
<A HREF="pat4dfs.htm#Decorator" TARGET="_mainDisplayFrame"><B>175</B></A>
</DT>

<DD>compared with A<FONT SIZE=-1>DAPTER</FONT> 
<A HREF="pat4dfs.htm#Decorator" TARGET="_mainDisplayFrame">175</A>, 
<A HREF="pat4dfs.htm#compadapt" TARGET="_mainDisplayFrame">184</A>
</DD>

<DD>compared with C<FONT SIZE=-1>OMPOSITE</FONT><A HREF="chap2fs.htm#compcomposite" TARGET="_mainDisplayFrame">44</A>, 
<A HREF="pat4cfs.htm#compcomposite" TARGET="_mainDisplayFrame">173</A>, 
<A HREF="disc4fs.htm#compvsdec" TARGET="_mainDisplayFrame">219-220</A>
</DD>

<DD>compared with P<FONT SIZE=-1>ROXY</FONT> 
<A HREF="pat4gfs.htm#dec-prox" TARGET="_mainDisplayFrame">216</A>, 
<A HREF="disc4fs.htm#compvsdec" TARGET="_mainDisplayFrame">219-220</A>
</DD>

<DD>compared with S<FONT SIZE=-1>TRATEGY</FONT><A HREF="pat4dfs.htm#dec-strat" TARGET="_mainDisplayFrame">179</A>
</DD>

<DD>in catalog summary 
<A HREF="chap1fs.htm#cat-dec" TARGET="_mainDisplayFrame">8</A>
</DD>

<DD>Lexi's use of
<A HREF="chap2fs.htm#editor_embellish-omt" TARGET="_mainDisplayFrame"><I>45c</I></A>,
<A HREF="chap2fs.htm#Fig-2.8" TARGET="_mainDisplayFrame"><I>46o</I></A>, 
<A HREF="chap2fs.htm#dec-patt" TARGET="_mainDisplayFrame">47</A>
</DD>

<DD>lightweight versus heavyweight 
<A HREF="pat4dfs.htm#lightvsheavy" TARGET="_mainDisplayFrame">179</A>
</DD>

<DT>Decorator
<A HREF="pat4dfs.htm#dec-176" TARGET="_mainDisplayFrame"><I>176</I></A>, 
<A HREF="pat4dfs.htm#dec-180" TARGET="_mainDisplayFrame">180</A>
</DT>

<DD>participant of D<FONT SIZE=-1>ECORATOR</FONT> 
<A HREF="pat4dfs.htm#dec-part" TARGET="_mainDisplayFrame">177</A>,
<A HREF="pat4dfs.htm#structure" TARGET="_mainDisplayFrame"><I>177c</I></A>,
<A HREF="pat4dfs.htm#dec-180o" TARGET="_mainDisplayFrame"><I>180o</I></A>
</DD>

<DT>decorator 
<A HREF="pat4dfs.htm#dec-175" TARGET="_mainDisplayFrame"><B>175</B></A>
</DT>

<DT><a name="decoupling"></a>decoupling, <I>see also</I> <A HREF="index-C.htm#coupling" target="TEXT">coupling, loose</A></DT>

<DD>interface and implementation 
<A HREF="pat4bfs.htm#decouple-iandi" TARGET="_mainDisplayFrame">154</A>
</DD>

<DD>senders and receivers 
<A HREF="disc5fs.htm#decouple-sandr" TARGET="_mainDisplayFrame">346</A>
</DD>

<DT>deep copy, <I>see</I> <A HREF="index-C.htm#copy" target="TEXT">copy, deep</A></DT>

<DT>delegate 
<A HREF="chap1fs.htm#delegation" TARGET="_mainDisplayFrame"><B>20</B></A>,
<A HREF="pat4afs.htm#use-dele" TARGET="_mainDisplayFrame">144</A>
</DT>

<DT>delegation 
<A HREF="chap1fs.htm#delegation" TARGET="_mainDisplayFrame"><B>20</B></A>, 
<A HREF="pat5efs.htm#deleg-278" TARGET="_mainDisplayFrame">278</A>, 
<A HREF="chapAfs.htm#delegation" TARGET="_mainDisplayFrame"><B>360</B></A>
</DT>

<DD>compared with inheritance
<A HREF="chap1fs.htm#delegation" TARGET="_mainDisplayFrame">20-21</A>
</DD>

<DD>implementing pluggable adapters with 
<A HREF="pat4afs.htm#deleg-plug" TARGET="_mainDisplayFrame">144</A>
</DD>

<DD>patterns that rely on
<A HREF="chap1fs.htm#deleg-patrely" TARGET="_mainDisplayFrame">21</A>
</DD>

<DT>dependency
<A HREF="pat5gfs.htm#top" TARGET="_mainDisplayFrame">293</A>
</DT>

<DD>managing complex
<A HREF="pat5gfs.htm#depend-manage" TARGET="_mainDisplayFrame">299</A>
</DD>

<DT>Dependents, <I>see</I> <A HREF="index-O.htm#O<FONT SIZE=-1>BSERVER</FONT>" target="TEXT">O<FONT SIZE=-1>BSERVER</FONT></A></DT>

<DT>derived class, <I>see</I> <A HREF="index-C.htm#class" target="TEXT">class, derived</A></DT>

<DT>design</DT>

<DD>d&#233j&#224-vu 
<A HREF="chap1fs.htm#deja-vu" TARGET="_mainDisplayFrame">2</A>
</DD>

<DD>density 
<A HREF="chap6fs.htm#design-density" TARGET="_mainDisplayFrame">358</A>
</DD>

<DD>documenting with patterns
<A HREF="chap1fs.htm#design-docpatt" TARGET="_mainDisplayFrame">27</A>, 
<A HREF="chap6fs.htm#design-docpatt" TARGET="_mainDisplayFrame">352</A>
</DD>

<DD>for change 
<A HREF="chap1fs.htm#design-change" TARGET="_mainDisplayFrame">23</A>
</DD>

<DD>poetry of 
<A HREF="chap6fs.htm#design-poetry" TARGET="_mainDisplayFrame">356</A>
</DD>

<DD>for reuse 
<A HREF="chap1fs.htm#design-reuse" TARGET="_mainDisplayFrame">23</A>
</DD>

<DT>design object model 
<A HREF="chap6fs.htm#design-obj-mod" TARGET="_mainDisplayFrame">353</A>
</DT>

<DT><a name="design pattern"></a>design pattern 
<A HREF="chapAfs.htm#designpattern" TARGET="_mainDisplayFrame"><B>360</B></A>
</DT>

<DD>adjunct to design methodology 
<A HREF="chap6fs.htm#design-adjunct" TARGET="_mainDisplayFrame">353</A>
</DD>

<DD>aspects of design varied by 
<A HREF="chap1fs.htm#aspects_that_can_vary" TARGET="_mainDisplayFrame">30</A>
</DD>

<DD>benefits 
<A HREF="chap6fs.htm#benefits" TARGET="_mainDisplayFrame">351</A>
</DD>

<DD>catalog summary 
<A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame">8</A>
</DD>

<DD>catalog template 
<A HREF="chap1fs.htm#despatt-template" TARGET="_mainDisplayFrame">6</A>
</DD>

<DD>classification 
<A HREF="chap1fs.htm#behpat" TARGET="_mainDisplayFrame">10</A>
</DD>

<DD>compared with frameworks 
<A HREF="chap1fs.htm#despattvsframe" TARGET="_mainDisplayFrame">28</A>
</DD>

<DD>diagram of relationships 
<A HREF="chap1fs.htm#intro_overview" TARGET="_mainDisplayFrame">12</A>
</DD>

<DD>documenting designs with 
<A HREF="chap1fs.htm#design-docpatt" TARGET="_mainDisplayFrame">27</A>, 
<A HREF="chap6fs.htm#despatt-doc" TARGET="_mainDisplayFrame">352</A>
</DD>

<DD>essential elements 
<A HREF="chap1fs.htm#despatt-essential" TARGET="_mainDisplayFrame">3</A>
</DD>

<DD>finding 
<A HREF="chap6fs.htm#despatt-finding" TARGET="_mainDisplayFrame">355</A>
</DD>

<DD>history of 
<A HREF="chap6fs.htm#top" TARGET="_mainDisplayFrame">355</A>
</DD>

<DD>how to use 
<A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame">29</A>
</DD>

<DD>purpose 
<A HREF="chap1fs.htm#behpat" TARGET="_mainDisplayFrame">10</A>
</DD>

<DD>refactoring with 
<A HREF="chap6fs.htm#despatt-refactor" TARGET="_mainDisplayFrame">353</A>
</DD>

<DD>scope 
<A HREF="chap1fs.htm#despatt-scope" TARGET="_mainDisplayFrame">10</A>
</DD>

<DD>selection of 
<A HREF="chap1fs.htm#top" TARGET="_mainDisplayFrame">28</A>
</DD>

<DD>table of 
<A HREF="chap1fs.htm#space" TARGET="_mainDisplayFrame">10</A>
</DD>

<DT>destructor 
<A HREF="chapAfs.htm#destructor" TARGET="_mainDisplayFrame"><B>360</B></A>
</DT>

<DD>ensuring iterator's is called 
<A HREF="pat5dfs.htm#iter-dest" TARGET="_mainDisplayFrame">266</A>
</DD>

<DT>Dialog 
<A HREF="pat5afs.htm#motivation" TARGET="_mainDisplayFrame">223</A>, 
<A HREF="pat5afs.htm#dialog-231" TARGET="_mainDisplayFrame">231</A>
</DT>

<DT>DialogDirector
<A HREF="pat5efs.htm#mediator-eg-obj" TARGET="_mainDisplayFrame"><I>274o</I></A>,
<A HREF="pat5efs.htm#mediator-id" TARGET="_mainDisplayFrame"><I>275ci</I></A>, 
<A HREF="pat5efs.htm#samplecode" TARGET="_mainDisplayFrame">278</A>
</DT>

<DT>DialogWindow 
<A HREF="chap2fs.htm#appwin" TARGET="_mainDisplayFrame">53</A>,
<A HREF="chap2fs.htm#54c" TARGET="_mainDisplayFrame"><I>54c</I></A>,
<A HREF="chap2fs.htm#55c" TARGET="_mainDisplayFrame"><I>55c</I></A>
</DT>

<DT>DigitalClock 
<A HREF="pat5gfs.htm#digitalclock" TARGET="_mainDisplayFrame">302</A>
</DT>

<DT>Director</DT>

<DD>participant of B<FONT SIZE=-1>UILDER</FONT><A HREF="pat3bfs.htm#structure" TARGET="_mainDisplayFrame"><I>98c</I></A>,
<A HREF="pat3bfs.htm#director" TARGET="_mainDisplayFrame">99</A>,
<A HREF="pat3bfs.htm#collaborations" TARGET="_mainDisplayFrame"><I>99i</I></A>
</DD>

<DT>DirectoryBrowser
<A HREF="pat4afs.htm#direc-browse" TARGET="_mainDisplayFrame">144</A>,
<A HREF="pat4afs.htm#adapter-param1" TARGET="_mainDisplayFrame"><I>144c</I></A>,
<A HREF="pat4afs.htm#adapter-param2" TARGET="_mainDisplayFrame"><I>145c</I></A>
</DT>

<DT>discretionary glyph
<A HREF="chap2fs.htm#discretionaryglyph" TARGET="_mainDisplayFrame">75</A>
</DT>

<DT><a name="dispatch"></a>dispatch</DT>

<DD>double 
<A HREF="pat5kfs.htm#doubledispatch" TARGET="_mainDisplayFrame"><B>338</B></A>
</DD>

<DD>multiple 
<A HREF="pat5kfs.htm#footnote11" TARGET="_mainDisplayFrame"><B>339</B></A>
</DD>

<DD>single 
<A HREF="pat5kfs.htm#singledispatch" TARGET="_mainDisplayFrame"><B>338</B></A>
</DD>

<DT>Doc 
<A HREF="pat4ffs.htm#knownuses" TARGET="_mainDisplayFrame">205</A>, 
<I>see also</I> <A HREF="index-L.htm#Lexi" target="TEXT">Lexi</A></DT>

<DT>Document 
<A HREF="pat3cfs.htm#motivation" TARGET="_mainDisplayFrame">107</A>,
<A HREF="pat3cfs.htm#107c" TARGET="_mainDisplayFrame"><I>107c</I></A>,
<A HREF="pat5bfs.htm#233c" TARGET="_mainDisplayFrame"><I>233c</I></A>, 
<A HREF="pat5bfs.htm#document-234" TARGET="_mainDisplayFrame">234</A>,
<A HREF="pat5bfs.htm#234c" TARGET="_mainDisplayFrame"><I>234c</I></A>, 
<A HREF="pat5jfs.htm#motivation" TARGET="_mainDisplayFrame">325</A>,
<A HREF="pat5jfs.htm#325c" TARGET="_mainDisplayFrame"><I>325c</I></A>
</DT>

<DT>document</DT>

<DD>color 
<A HREF="chap2fs.htm#document-color" TARGET="_mainDisplayFrame">42</A>, 
<A HREF="pat5ifs.htm#doc-color" TARGET="_mainDisplayFrame">322</A>
</DD>

<DD>formatting 
<A HREF="chap2fs.htm#editor_sec_formatting" TARGET="_mainDisplayFrame">40</A>
</DD>

<DD>logical structure 
<A HREF="chap2fs.htm#editor_sec_formatting" TARGET="_mainDisplayFrame">40</A>
</DD>

<DD>physical structure 
<A HREF="chap2fs.htm#top" TARGET="_mainDisplayFrame">35</A>
</DD>

<DT>documenting design with patterns 
<A HREF="chap1fs.htm#design-docpatt" TARGET="_mainDisplayFrame">27</A>, 
<A HREF="chap6fs.htm#design-docpatt" TARGET="_mainDisplayFrame">352</A>
</DT>

<DT>doesNotUnderstand message</DT>

<DD>used to implement C<FONT SIZE=-1>HAIN OF</FONT>
	R<FONT SIZE=-1>ESPONSIBILITY</FONT> 
<A HREF="pat5afs.htm#doesnotunder" TARGET="_mainDisplayFrame">229</A>
</DD>

<DD>used to implement P<FONT SIZE=-1>ROXY</FONT> 
<A HREF="pat4gfs.htm#using-dnu" TARGET="_mainDisplayFrame">212</A>, 
<A HREF="pat4gfs.htm#proxyuse-dnu" TARGET="_mainDisplayFrame">215</A>
</DD>

<DT>Domain 
<A HREF="pat4efs.htm#domain" TARGET="_mainDisplayFrame">192</A>,
<A HREF="pat4efs.htm#facade-choices" TARGET="_mainDisplayFrame"><I>192c</I></A>
</DT>

<DT>Door
<A HREF="chap3fs.htm#room-82c" TARGET="_mainDisplayFrame"><I>82c</I></A>, 
<A HREF="chap3fs.htm#door-code" TARGET="_mainDisplayFrame">83</A>
</DT>

<DD>extensions for P<FONT SIZE=-1>ROTOTYPE</FONT> 
<A HREF="pat3dfs.htm#door-proto" TARGET="_mainDisplayFrame">123</A>
</DD>

<DT>double-dispatch, <I>see</I> <A HREF="index-D.htm#dispatch" target="TEXT">dispatch, double</A></DT>

<DT>downcast 
<A HREF="pat3afs.htm#downcast" TARGET="_mainDisplayFrame">91</A>
</DT>

<DT>Dylan 
<A HREF="chap1fs.htm#dylan" TARGET="_mainDisplayFrame">4</A>
</DT>

<DD>use of M<FONT SIZE=-1>EMENTO</FONT> 
<A HREF="pat5ffs.htm#knownuses" TARGET="_mainDisplayFrame">289</A>
</DD>

<DT>dynamic binding 
<A HREF="chap1fs.htm#dynamicbinding" TARGET="_mainDisplayFrame"><B>14</B></A>, 
<A HREF="chapAfs.htm#dynamicbinding" TARGET="_mainDisplayFrame"><B>360</B></A>
</DT>

<DT>dynamic inheritance 
<A HREF="pat5hfs.htm#dynamicinherit" TARGET="_mainDisplayFrame">309</A>
</DT>

<DT><a name="dynamic_cast"></a>dynamic_cast in C++ 
<A HREF="pat3afs.htm#dynamic_cast" TARGET="_mainDisplayFrame">91</A>, 
<A HREF="pat4cfs.htm#dynamic_cast" TARGET="_mainDisplayFrame">168</A>
</DT>

</DL>

